<?php

/*
  |---------------------------------------------------------------
  | PHP ERROR REPORTING LEVEL
  |---------------------------------------------------------------
  |
  | By default CI runs with error reporting set to ALL.  For security
  | reasons you are encouraged to change this when your site goes live.
  | For more info visit:  http://www.php.net/error_reporting
  |
 */
error_reporting(E_ALL);

/*
  |---------------------------------------------------------------
  | SYSTEM FOLDER NAME
  |---------------------------------------------------------------
  |
  | This variable must contain the name of your "system" folder.
  | Include the path if the folder is not in the same  directory
  | as this file.
  |
  | NO TRAILING SLASH!
  |
 */
$system_folder = "system";

/*
  |---------------------------------------------------------------
  | APPLICATION FOLDER NAME
  |---------------------------------------------------------------
  |
  | If you want this front controller to use a different "application"
  | folder then the default one you can set its name here. The folder
  | can also be renamed or relocated anywhere on your server.
  | For more info please see the user guide:
  | http://codeigniter.com/user_guide/general/managing_apps.html
  |
  |
  | NO TRAILING SLASH!
  |
 */
$application_folder = "./application";

/*
  |===============================================================
  | END OF USER CONFIGURABLE SETTINGS
  |===============================================================
 */


/*
  |---------------------------------------------------------------
  | SET THE SERVER PATH
  |---------------------------------------------------------------
  |
  | Let's attempt to determine the full-server path to the "system"
  | folder in order to reduce the possibility of path problems.
  | Note: We only attempt this if the user hasn't specified a
  | full server path.
  |
 */
if (strpos($system_folder, '/') === FALSE) {
    if (function_exists('realpath') AND @realpath(dirname(__FILE__)) !== FALSE) {
        $system_folder = realpath(dirname(__FILE__)) . '/' . $system_folder;
    }
} else {
    // Swap directory separators to Unix style for consistency
    $system_folder = str_replace("\\", "/", $system_folder);
}

/*
  |---------------------------------------------------------------
  | DEFINE APPLICATION CONSTANTS
  |---------------------------------------------------------------
  |
  | EXT		- The file extension.  Typically ".php"
  | SELF		- The name of THIS file (typically "index.php")
  | FCPATH	- The full server path to THIS file
  | BASEPATH	- The full server path to the "system" folder
  | APPPATH	- The full server path to the "application" folder
  |
 */
define('EXT', '.php');
define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
define('FCPATH', str_replace(SELF, '', __FILE__));
define('BASEPATH', $system_folder . '/');

if (is_dir($application_folder)) {
    define('APPPATH', $application_folder . '/');
} else {
    if ($application_folder == '') {
        $application_folder = 'application';
    }

    define('APPPATH', BASEPATH . $application_folder . '/');
}

/*
  |---------------------------------------------------------------
  | LOAD THE FRONT CONTROLLER
  |---------------------------------------------------------------
  |
  | And away we go...
  |
 */

function __autoload($class) {

    $ci = &get_instance();
    if (!isset($ci->modules)) {
        Module_Extended::load_modules();
    }

    $parts = NULL; //parts of the class name
    $type = NULL; //type of the class ie _m_ = model
    $folder = NULL; //the folder where class class should be found
    $module = NULL; //name of the module the class belongs to

    if (strpos($class, "_m_")) {
        $type = "_m_";
        $folder = "/models/";
    } elseif (strpos($class, "_l_")) {
        $type = "_l_";
        $folder = "/libraries/";
    } elseif (strpos($class, "_e_")) {
        $type = "_e_";
        $folder = "/evtsubs/";
    } elseif (strpos($class, "_c_")) {
        $type = "_c_";
        $folder = "/controllers/";
    } elseif (strpos($class, "_h_")) {
        $type = "_h_";
        $folder = "/helpers/";
    } elseif (strpos($class, "_u_")) {
        $type = "_u_";
        $folder = "/";
    }

    if ($type !== NULL) {
        $parts = explode($type, $class);
        $module = $parts[1];
        if (isset($ci->modules[$module])) {
            $file_path = APPPATH . "modules/$module" . $folder;
            file_includer::include_this($file_path, $class);
        } else {
            show_error("[$module] not installed/active");
        }
    } else {
        if (file_includer::include_this(APPPATH . 'libraries/', $class)) {
            return;
        } elseif (file_includer::include_this($file = APPPATH . 'modules/core/libraries/', $class)) {
            return;
        } else {
            
            //$return = debug_backtrace();
            //$file_line = "<span style='color:gray;font-size:12px'>" . @$return[2]['file'] . " : " . @$return[2]['line'] . "</span>";
            //logger::i()->warning("$class" . EXT . " not found! [$file_line]","autoload");
            return false;
        }
    }
}

require_once BASEPATH . 'codeigniter/CodeIgniter' . EXT;
/* End of file index.php */
/* Location: ./index.php */